package com.wb3.meta.common.enums;

/**
 * 枚举常亮类
 */
public interface EnumConstants {

    /**
     * @decription 状态枚举类
     * @author ron
     * @date 2023/3/21 19:28
     * @return
     */

    enum StatusEnum implements EnumConstants {
        VALID(0), //有效
        INVALID(1); //无效

        private Integer code;

        StatusEnum(Integer code) {
            this.code = code;
        }

        public Integer getCode() {
            return code;
        }

        public void setCode(Integer code) {
            this.code = code;
        }
    }




    /**
     * 合约目录-枚举类
     */
    enum ContractUriEnum {
        ASSET("ASSET"), //资产目录
        META_DATA("META_DATA"); //元文件目录

        private String code;

        ContractUriEnum(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }
    }

    /**
     * @decription 系统错误代码
     * @author ron
     * @date 2023/3/21 9:38 
     * @return 
     */
    
    enum SystemErrorCodeEnum {
        PARAMETER_ERROR("1001"), //参数错误
        REQUEST_FREQUENT("1002"), //请求频繁
        UNKNOW_ERROR("1003"),//未知错误

        NO_LOGIN("1004");//未登录
        private String code;

        SystemErrorCodeEnum(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }
    }
    /**
     * @decription 活动错误code对照
     * @author ron
     * @date 2023/3/21 14:08
     * @return
     */

    enum ActErrorCodeEnum {
        ACT_NOT_START("2001"), //活动未开始
        ALREADY_JOIN("2002"), //已报名
        ACT_CONFIG_ERROR("2003"), //活动配置错误
        FULL("2004"), //报名人数已满
        ACT_NOT_OPEN("2005"); //活动暂未开放

        private String code;

        ActErrorCodeEnum(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }
    }
    /**
     * @decription 第三方账号相关错误代码
     * @author ron
     * @date 2023/3/21 14:35 
     * @return 
     */
    
    enum ThirdPartErrorCodeEnum {
        CANNOT_REPEAT_BIND("3001"), //不能重复绑定
        UNAUTHORIZED("3002"), //授权失败
        GOOGLE_CAPTCHA_VERIFY_ERROR("3003"), //谷歌验证未通过
        ACCOUNT_ALREAD_EXISTS("3004"), //账号已存在
        CODE_INVALID("3005"); //验证码无效

        private String code;

        ThirdPartErrorCodeEnum(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }
    }


    /**
     * @decription 裂变抽奖相关错误代码
     * @author ron
     * @date 2023/3/21 14:51
     * @return
     */

    enum RaffleErrorCodeEnum {
        NOT_BIND_TWITTER("4001"), //未绑定推特
        NOT_START("4002"), //活动未开始
        RAFFLE_ACCOUNT_NOT_ENOUGH("4003"), //抽奖次数不足
        WON("4004"); //已中奖

        private final String code;

        RaffleErrorCodeEnum(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }
    }
    /**
     * @decription 用户相关错误代码
     * @author ron
     * @date 2023/3/21 14:46
     * @return
     */

    enum UserErrorCodeEnum {
        INVALID_SIGNATURE("5001"), //无效签名
        DATA_TO_lONG("5002"), //昵称过长
        INVALID("5003"); //账号已被封禁
        private String code;

        UserErrorCodeEnum(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }
    }
}
